The present invention relates to a method for providing an authentication to an application. The invention relates further to an arrangement for providing an authentication to an application and further to an apparatus to be used in the authentication.
Various electronic applications exist which involve a need for an authentication. Authentication may be required, for example, when a user is accessing a specific application and/or when a user already uses an application and there arises a need to verify the user or to receive such an acknowledgment from the user which allows the application to make some further proceedings.
Examples of applications which might require an authentication include various commercial services obtained through communications networks, such as Internet, Intranet or Local Area Networks (LAN), payments and banking services accessed through communications networks, resource access, remote programming, reprogramming or updating of software etc. Even certain free of charge services obtained through communications networks may require an authentication. The amount of services or applications which require at least some degree of authentication of the user who is trying to access them (or of the user who is already using them but where there is a need to check authorization during the use of the service or a need to acknowledge something during the use) has increased greatly during the past years. The need for the authentication is also expected to increase further in the future.
At present there are already some well known solutions for communication authentication. These normally use various cryptographic techniques between two communicating computer devices. According to a basic scenario for the authentication, a random challenge is given to encryption functions of said two computer devices. Both of these computers have a secret, i.e., an encryption key, which is also given to the encryption function in both of the computers. Thereafter, the results of the calculations of the two encryption functions are compared, and if the result of the comparison is positive, the authentication is considered as being in force. If the comparison gives a negative result, then the authentication test is considered as having failed.
There are also various already existing authentication arrangements. The following examples of the prior art arrangements are given with a brief description of some of the drawbacks thereof:
Passwords. At present, the use of a password or several passwords is the most often used approach for the authentication. The password is given to the remote application through an user interface, e.g., through a computer terminal connected to a communications network. However, this solution does not take the vulnerability of the network into account, since the password is exposed to everyone who has access to the network (and who is skilled enough to read the passwords).
A secret. This may be described as an electronic password or a signature or an encryption key which is stored and used by for example the user interface. Even though the secret is not revealed to the network, it may end up in the xe2x80x9cwrong handsxe2x80x9d and could be used by some party other than those who are originally intended to be the users of the secret.
Authentication software in the user interface. This is a more sophisticated approach to authentication. The password is given to a program in the user interface, which then automatically authenticates cryptographically access to the requested application. Even though this provides a more secure arrangement than the above solution, it still leaves a possibility for catching the passwords from the user interface. It is also possible to modify the software without notice to the actual user.
Smart cards with associated readers. A smart card is capable of communicating encrypted challenge-response messages, but it does not contain a user interface for receiving an authorization from the user itself. Such an interface may exist in the smart card readers, but such readers must be well protected against any possibilities for misuse, and thus the ordinary users (i.e., the large majority of users, i.e., the public) cannot usually have physical access to these reader interfaces, but they have to trust to the organization providing the smart cards. In addition, the smart card readers cannot be shared between organizations which do not have trust to each others.
Smart cards with a user interface. These do already exist, but they are expensive since each security processor must have a secure user interface of it""s own. These are rare and the input/output capability thereof is still extremely limited, and thus they are not held to be an economically suitable solution for the authentication problem.
A separate personal authentication device. In this approach the user is used as xe2x80x9ca communication meansxe2x80x9d between the user interface and a separate authentication device. The user interface gives a challenge which the user then types in to a hand held authentication device (pocket-calculator like device). The authentication device may, e.g., give a number as a response, and the user then types this number in to the user interface. In this the problems relate to the need of purchasing, using and carrying a separate device. In some instances there is also a possibility of incorrect typing of the usually long and complex character strings.
The above already mentions some parties which may be involved when implementing the present authentication systems. They are briefly explained in more detail in the following:
The user is usually a human being who uses various applications or services. The user can be identified by means of a password (or secret) which is only known by him/her (a public key method), or by means of a secret which is shared between the user and the application (a secret key method).
The application is the party that wants to ensure the authenticity of the user. The application can also in some occasions be called as a service. From the application""s point of view the authenticity question can be divided in four different categories (questions): 1) is the user at the moment in the other end? (so called peer-entity-authentication), 2) are the further messages received from the same user? (integrity of the message stream), 3) does a specific message originate from a certain user? (data origin authentication), and 4) is the message such that even a third party may believe it to originate from a certain user? (non-repudiation).
The user interface is the device or arrangement which enables the user to access the application or service. In most instances it can also be referred to as a terminal, and may consist of devices such as computers (e.g., Personal Computer, PC), workstations, telephone terminals, mobile stations such as mobile telephones or radios or pagers, automatic money teller and/or banking machines, etc. The user interface provides input/output facilities and it may possibly even provide a part of the application.
The Personal Authentication Device (PAD) is a piece of hardware that the user carries with him. The PAD may have some basic input/output functionality and even some processing facilities. The above referred smart cards and separate authentication devices may also be considered as PADs. In most cases the user can rely on his PAD, since the user has it (almost) always with him and thus under continuous control. All the possible passwords or secrets are hidden in the hardware thereof such that there is no easy manner to reveal them. The device itself is not easy to modify such that the communication path between the user and the security processor could be endangered. In addition, the PADs usually have a minimum amount of stored state and the programs thereof are not easily modifiable.
Even though the above described prior art solutions for authentication already exist, there are still some shortages, in addition to those already referred to above, in the area of authentication.
In case the access to the application is made absolutely secure, or as secure as possible, the application easily becomes extremely complex from the architecture thereof, and becomes also complicated and more time consuming to access and use. The increased security level increases the amount of the required hardware and software, which leads to an increased need for maintenance and updating thereof, and thus the total costs of the authentication may become high. The complexity and costs could be decreased by lowering the level of security, but this is expected to lead to an insufficient security level in the communications. In addition, it is believed that an xe2x80x9cabsolutely securexe2x80x9d condition does not even exist in the communications networks, as the technical development makes it possible for hackers to solve even the most complicated security arrangements.
A human problem lies on the fact that the passwords or secrets may become quite complicated and/or too long, or that there may be too many of them. Thus the users may find it hard to remember them. Typically a secret which is considered as secure in the secret key method is 128 bits and in the public key method it is 1024 bits. For most people it is impossible to remember this kind of key.
In addition, users are not able to perform the calculations required in the authentication without external devices. As was explained above, the basic authentication is often made by challenge and response method. This would require the user (i.e., a human) to encrypt something with his secret. This is not held to be possible in practice.
In addition to the possibility of catching the password or secret during it""s transmission over an open communications network as was discussed above, today""s solutions do not pay sufficient attention to the vulnerability of the user interfaces either. The terminal devices have developed to be full of complex technology and software such that most of the users are no longer capable of fully controlling the terminals, or understanding the operation thereof. In addition, it often occurs that many users share the same terminal device (e.g., is a commonly used PC) and/or that external maintenance personnel has access to the computers of a per se closed organization.
The computer terminals contain stored state and programs in the memory means thereof, which can be modified. In modern computers it is possible to modify the software thereof even such that the user does not notice this, and even through the communication paths without any physical access to the device itself. To give an example of the risks, it is possible to modify a program in a computer terminal such that it modifies the data the user sends for example to a bank such that the computer modifies all bank transfers on a certain day to another account than what was designated by the user. This modifying or reprogramming without notice may cause serious and huge damages when used against ordinary individual users, and especially when used against organizations such as companies or public administration. This all means that the ordinary terminal devices and communication paths cannot be trusted.
Therefore it is an object of the present invention to overcome the disadvantages of the prior art solutions and to provide a new type of solution for authentication.
An object is also to provide a method and an arrangement by means of which a user who wishes to access an application can be authenticated in a more secure manner than has been possible in the prior art. An object is also to provide an authentication when a need for the authentication arises during the use of an already accessed application.
An object of the present invention is also to provide a method and arrangement by means of which a mobile station can be utilized in the authentication.
An additional object of the present invention is to provide a solution in which an identification module of a mobile station can be utilized in the authentication.
Other objects and advantages of the present invention will be brought out in the following part of the specification taken in conjunction with the accompanying drawings.
The objects are obtained by a new method for providing an authentication to an application provided through a communications network. According to the present invention a connection between the application and a user interface through said communications network is established so as to enable an access of a user to the application provided through the communications network, while an authentication to said application is provided by means of a mobile station communicating through a mobile communications network.
According to one further embodiment the authentication method comprises a step of establishing a connection between an application and a user interface through a communications network so as to enable an access of a user to the application provided through the communications network. The authentication to said application is provided by means of a mobile station such that a secret of a Subscription Identification Module (SIM) of the mobile station is utilized in encryption operations of the authentication.
The invention provides further an arrangement for providing an authentication to an application provided by an application provider through a communications network. The arrangement comprises a user interface and a connection between the application and the user interface through said communications network so as to enable use of the application. The arrangement further comprises means for authenticating the use of the application, wherein said means for authenticating comprise a mobile station communicating through a mobile communications network and a link between the application implemented by the communications network and the mobile communications network.
According to an alternative embodiment the invention provides a mobile station for providing an authentication to an application provided through a communications network. In this embodiment the application is accessed by means of a user interface connected to the communications network, while said mobile station is using a different communications network for the communications than the user interface. Said mobile station is used for authenticating the use of said application accessed by the user interface.
Several advantages are obtained by means of the present invention, since the solution introduces a new reliable manner for authentication. The inventive authentication method and arrangement is easy to implement in already existing communications networks without any excessive alternations or additional devices. The arrangement can be used in connection with various different applications, in practice in connection with any such application provided through a communications system which needs some kind of authentication.
The user is freed from carrying a separate authentication device (PAD) or many different authentication devices. The user can also trust to the personal authentication device (PAD) according to the present invention, as the mobile station is usually always with him, and the users tend to take good care of their mobile stations. In addition, for instance in case of theft of a mobile station, the mobile subscription and/or the SIM thereof can be easily canceled by the operator. All secrets of a mobile station are well hidden in the hardware thereof such that it is not easy to reveal them. In addition, the mobile station device itself is not easily modifiable in such a way that the communication path between the user and the security processors could be endangered.
The system includes a minimum amount of stored state and the programs are not easily modifiable. The existing SIM of a mobile station, and more precisely the secret thereof, can be utilized for the required encryption procedures. Thus the SIM can be utilized as a security card for new purposes, and there is already an existing party who will control the use of the SIM, i.e., the mobile network operator who can immediately cancel a SIM if fraud is suspected.